package com.lu.pojo.exception;

/**
 * @author luzhenfang
 * @date 2020 0516
 * @description 异常捕获以及处理
 */
public class TestException {
    public static void main(String[] args) {
        int a = 1;
        int b = 0;

        // try 监控区域 catch 要捕获的异常 finally  最终处理
        try {
            System.out.println(a/b);
        } catch (Error e) {
            System.out.println("程序出现异常,变量b不能为0!");
        } catch (Throwable e) {
            e.printStackTrace(); // 打印错误的栈信息
            //System.exit(1);
        } finally {
            System.out.println("结束");
        }
        // 当然我们也可以用 throw 主动抛出异常
        // new XXXXException();
        // throws：向上抛出异常(调用者处理)
        // 自定  异常
        try {
            test(11);
        } catch (MyException e) {
            e.printStackTrace();
        }
    }

    static void test(int a) throws MyException{
        if (a>10){
            throw new MyException("错误的输入！");
        }
    }
}
